package com.ly.controller;

import com.ly.pojo.MyConfig;
import com.ly.pojo.Stu;
import com.ly.pojo.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;

@RestController
public class HelloController {

    /**
     * 查询
     * @return
     */
    @GetMapping("hello")
    public String hello(){
        return "我的视觉";
    }

    /**
     * 新增
     * @return
     */
    @PostMapping("add")
    public String add(){
        return "Hello Word";
    }

    /**
     * 修改
     * @return
     */
    @PutMapping("update")
    public String update(){
        return "Hello Word";
    }

    /**
     * 删除
     * @return
     */
    @DeleteMapping("delete")
    public String delete(){
        return "Hello Word~！~~";
    }

    /**
     * Resultful  接口请求风格
     * 以上是一个公司，如果是强规范的CRUD必须用的注解；
     *              如果是弱规范，查询使用get,增删改可以全部使用post
     */
    /**
     * 还有一些关于错误的代码提示：|
     *      如果是以4XX开头的提示，都是前端的问题，证明是有这个接口的；
     *      如果是以5XX开头的提示，都是后端的问题，证明接口是有问题的；
     */

    @Autowired
    private Stu stu;

    /**
     * 获取配置文件中的属性值  第一种
     * @return
     */
    @GetMapping("getStu")
    public Object getStu() {
        return stu;
    }

    @Autowired
    private MyConfig myConfig ;

    @GetMapping("getMyConfig")
    public Object getConfig() {
        return myConfig;
    }

    @Value("${self.custom.sdkSecrect}")
    private String sdkSecrect;

    @Value("${self.custom.host}")
    private String host;

    @Value("${self.custom.port}")
    private String port;

    @GetMapping("getYmlConfig")
    public Object getYmlConfig() {
        return "sdkSecrect:" + sdkSecrect + "~~~" + host+":"+port;
    }

    @GetMapping("getStudent")
    public Object getStudent() {
        //模拟git冲突
        //解决冲突
        /*Student student = new Student();
        student.setName("小红");
        student.setAge(18);
        return student;*/
        //需要够造参数才可以使用，否则只能用以上方法
        return new Student("1","阿紫",18);
    }

}
